package com.zoe.vhr.controller.system.basic;

import com.zoe.vhr.model.JObLevel;
import com.zoe.vhr.service.JobLevelService;
import com.zoe.vhr.util.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @Author Zoe.Zhang
 * @Date: 2021/08/03
 * @Description 职称等级
 */
@RestController
@RequestMapping("/system/basic/jobLevel")
@Validated
public class JobLevelController {
    @Autowired
    JobLevelService jobLevelService;

    @GetMapping("/listJobLevels")
    public R listJobLevels() {
        List<JObLevel> jObLevels = jobLevelService.listJobLevels();
        return R.success(jObLevels);
    }

    @PostMapping("/saveJobLevel")
    public R saveJobLevel(@Valid @RequestBody JObLevel jObLevel) {
        int count = jobLevelService.saveJobLevel(jObLevel);
        if (count > 0) {
            return R.success("添加成功");
        }
        return R.failed("添加失败");
    }

    @PutMapping("/updateJobLevel")
    public R updateJobLevel(@Valid @RequestBody JObLevel jObLevel) {
        int count = jobLevelService.updateJobLevel(jObLevel);
        if (count > 0) {
            return R.success("修改成功");
        }
        return R.failed("修改失败");
    }

    @DeleteMapping("/deleteJobLevelById/{id}")
    public R deleteJobLevelById(@NotNull @PathVariable("id") Long id) {
        int count = jobLevelService.deleteJobLevelById(id);
        if (count > 0) {
            return R.success("删除成功");

        }
        return R.failed("删除失败");
    }

    /**
     * postman上面测试url {ids}可以直接用数组拼接 得 1,2,3 这样传递数据
     *
     * @param ids
     * @return
     */
    @DeleteMapping("/deleteBatchJobLevelByIds/{ids}")
    public R deleteBatchJobLevelByIds(@NotNull @PathVariable("ids") Integer[] ids) {
        int count = jobLevelService.deleteBatchJobLevelByIds(ids);
        if (count > 0) {
            return R.success("删除成功");

        }
        return R.failed("删除失败");
    }
}
